﻿using System;
using System.Collections.Generic;
using Acaweb.Model.Entities.DatosCompuestos;

namespace Acaweb.Model.Entities
{
    public class Docentes
    {
        private string _NIT;
        private string _Nombre;
        private string _PrimerApellido;
        private string _SegundoApellido;
        private Sexo _Sexo;
        private DatosContacto _DatosContacto;
        private string _Email;
        private string _Username;
        private string _Celular;
        private string _Direccion;
        private long _Telefono;
        private List<HistorialAcademico> _HistorialAcademico;

        public virtual string Username
        {
            get { return _Username; }
            set { _Username = value; }
        }

        [NHibernate.Validator.Min(0)]
        public virtual string NIT
        {
            get { return _NIT; }
            set { _NIT = value; }
        }

        public virtual string Nombre
        {
            get { return _Nombre; }
            set { _Nombre = value; }
        }

        public virtual string PrimerApellido
        {
            get { return _PrimerApellido; }
            set { _PrimerApellido = value; }
        }

        public virtual string SegundoApellido
        {
            get { return _SegundoApellido; }
            set { _SegundoApellido = value; }
        }

        public virtual Sexo Sexo
        {
            get { return _Sexo; }
            set { _Sexo = value; }
        }

        public virtual DatosContacto DatosContacto
        {
            get { return _DatosContacto; }
            set { _DatosContacto = value; }
        }

        [NHibernate.Validator.Email]
        public string Email
        {
            get { return _Email; }
            set { _Email = value; }
        }

        public virtual string Celular
        {
            get { return _Celular; }
            set { _Celular = value; }
        }

        public virtual List<HistorialAcademico> HistorialAcademico
        {
            get { return _HistorialAcademico; }
            set { _HistorialAcademico = value; }
        }

        public virtual string Direccion
        {
            get { return _Direccion; }
            set { _Direccion = value; }
        }

        [NHibernate.Validator.Min(0)]
        [NHibernate.Validator.Max(10)]
        public virtual long Telefono
        {
            get { return _Telefono; }
            set { _Telefono = value; }
        }
    }
}